package com.jd.sunny.java.rmi;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

/**
 * @author :Sun Lin
 * @Description: RMI----远程接口实现类，继承了UnicastRemoteObject并实现了RmiSample远程接口
 * 远程对象实现类必须扩展远程对象java.rmi.UnicastRemoteObject类，并实现所定义的远程接口。
 * 远程对象的实现类中包含实现每个远程接口所指定的远程方法的代码。这个类也可以含有附加的方法，但客户只能使用远程接口中的方法。
 * 因为客户是指向接口的一个句柄，而不是它的哪个类。必须为远程对象定义构造函数，即使只准备定义一个默认构造函数，用它调用基础类构造函数。
 * 因为基础类构造函数可能会抛出 java.rmi.RemoteException，所以即使别无它用必须抛出java.rmi.RemoteException
 * @date :2012-9-24
 * @since:1.0.0
 */
public class SampleRmiImpl extends UnicastRemoteObject implements SampleRmi {


    /**
     *
     */
    private static final long serialVersionUID = 1L;

    /**
     * @throws RemoteException
     */
    protected SampleRmiImpl() throws RemoteException {
        super();

    }

    /**
     * 所有远程实现方法必须抛出RemoteException
     */
    public int sum(int a, int b) throws RemoteException {

        return a + b;
    }

}
